<template>
    <li :class="{active:isEnter}" @mouseenter="isEnter=true" @mouseleave="isEnter=false">
          <label>
            <input type="checkbox" :checked="todo.done" @change="changes"/>
            <span>{{todo.title}}</span>
          </label>
          <button class="btn btn-danger" @click="$bus.$emit('deleteTodo',index)">删除</button>
        </li>
</template>

<script>
export default {
    name:'Item',
    props:{
      todo:{
        type:Object,
        required:true
      },
      // deleteTodo:{
      //   type:Function,
      //   required:true
      // },
      index:{
        type:Number,
        required:true
      },
      // checkTodo:{
      //   type:Function,
      //   required:true
      // }
    },
    data(){
      return{
        isEnter:false,
      }
    },
    methods:{
      changes(e){
        const checked = e.target.checked
        // this.checkTodo(this.todo,checked)
        this.$mitt.emit('checkTodo',{todo:this.todo,isCheck:checked})
      }
    }
}
</script>

<style scoped>
    li {
  list-style: none;
  height: 36px;
  line-height: 36px;
  padding: 0 5px;
  border-bottom: 1px solid #ddd;
}

li label {
  float: left;
  cursor: pointer;
}

li label li input {
  vertical-align: middle;
  margin-right: 6px;
  position: relative;
  top: -1px;
}

li button {
  float: right;
  display: none;
  margin-top: 3px;
}

li.active {
  background-color: #ccc;
}

li.active button {
  display: block;
}

li:before {
  content: initial;
}

li:last-child {
  border-bottom: none;
}
</style>